package com.HeJing.类的实例化与对象的内存解析;

/**
 * ClassName: 类的实例化与对象的内存解析
 * Package: com.HeJing.面向对象概述
 * Description:
 *
 * @Author: HeJing
 * @Create: 2023-03-19 22:47
 * @Version: 1.0
 */
public class main {
    public static void main(String[] args){

        /*
        *  1、类的声明与使用:
        *       -> 1.1、体会: 设计类，其实就是设计类的成员
        *
        *       -> 1.2、类的内部成员
        *           -> 属性(成员变量/field)
        *           -> 方法(函数/method)
        *
        *       -> 1.3、类的实例化:
        *
        *  2、对象的内存解析:
        *       -> 2.1、对象在内存中的分配涉及到的内存结构:
        *           -> 栈(stack): 方法内定义的变量储存在栈中
        *           -> 堆(heap):  new 出来的结构(比如: 数组的实体，对象的实体)；包括对象的属性
        *           -> 方法区(method area): 存放类的模板。比如: Phone类的模板
        *       -> 注意: 创建类的多个对象时，每个对象在堆空间中都有一个对象实体，每个对象实体中保存着一份类的属性，如果修改其中
        *               某一个对象的某个属性时，不会影响其他对象此属性的值。
        * */

        // 创建Phone对象,
        Phone p1 = new Phone();

        // 通过Phone对象, 调用Phone内部声明的属性或方法
        p1.name = "huawei mate60";
        p1.price = 6989;
        System.out.println("name = " + p1.name + "  price = " + p1.price);
        p1.call();

        Phone p2 = new Phone();
        p2.name = "iphone";
        p2.price = 5500.0;
        p2.sendMessage();

    }



}






















